GENETIC PROGRAMMING FOR GENERATION OF OPTIMAL CIRCULANT NETWORK DESIGNS
O. G. Monakhov, E. A. Monakhova
Institute of Computational Mathematics and Mathematical Geophysics,
Siberian Division of Russian Academy of Sciences, Novosibirsk
Аннотация — Предложен оригинальный подход, основанный на генетическом программировании, к решению NP-сложной проблемы поиска оптимальных циркулянтных графов, используемых в качестве сетей связи параллельных вычислительных систем (ВС) и обеспечивающих оптимум показателей надежности, связности и производительности ВС при заданных стоимостных ограничениях. Метод генетического программирования разработан для автоматизированного порождения параметров аналитических описаний конечных и бесконечных семейств (суб)оптимальных циркулянтных графов. Получены аналитические описания для большей части ранее описанных в литературе и ряда новых семейств (суб)оптимальных циркулянтных графов степеней 4 и 6.
Introduction
The circulant networks and their various applications are the object of
intensive investigations in computer science and discrete mathematics [1], [2], [3], [4],
[7], [8], [9]. These graphs are realized as interconnection networks for some massively
parallel processing systems (Intel Paragon, Cray T3D). In this work we consider a solution
of problem of constructing optimal circulant network designs (the conversation to the well
known (Degree/Diameter)-graph problem): Given the vertex number and the degree
find a circulant with smallest diameter
.
Optimal graphs achieve the exact lower bounds for the diameter and, respectively, optimal
features with respect to transmission delays, reliability and connectivity [1], [2] under
implementation as interconnection networks in multimodule supercomputer systems.
There exists an analytical solution for synthesis of optimal circulants
of degree 4 and any order [6], [1], [2]. In [1], [8], [4], [7] for loop circulant networks
of degree 4 infinite families of values of ,
that are optimal for the diameter, or may be defined by analytical formulas, have been
found. But under
>4 this optimization
problem is known as NP-hard. There exist [1], [3], some isolated analytical solutions,
generating nearly optimal graphs. For some classes of
loop circulant graphs are obtained ([3], the results of C. Delorme and
C.Peyrat, indicated in [1]) with good approximation of diameter to its exact lower bound.
For other analogous results [1] the diameters of graphs obtained are distinguished
considerably from exact lower bounds.
We develop an original approach using genetic programming [5] to automatically generate analytical descriptions for families of (sub)optimal circulant networks.
Definitions
A circulant graph ,
having the parametric description, is defined as follows.
Definition 1. Let
nodes of graph are enumerated by numbers 0, 1, ...,
-1 and let
be a set
of integers. The link between nodes
and
has a place, if and only
if
where
is order of the graph,
is its dimensionality,
is
the generator set.
The degree of a node in circulant graph
=2
. Graph
when
is known as a loop
circulant network [1], [4], [3].
The diameter of is
defined by
where
is the length of a shortest path from a node
to a node
. Let
be an exact lower bound
on the
[1].
Definition 2. A graph is optimal if
, and it is suboptimal if
+1.
We will consider a solution of problem of finding analytical (described
by formulas) descriptions for optimal circulants with the help of methods of genetic
programming. It is necessary to find a set of functions , depending in a common case on
and
(or
) such, that given analytical description with
generators
, on a rather large range of
gives optimal or nearly optimal graphs. It is
known the exact description for
=2 [6],
[1], [2].
Theorem 1. For
optimal two-dimensional circulant exists and has a description in the form
,
, where
is the nearest integer
to
.
Under searching for a set of functions , a genetic programming algorithm (GPA) is used. The basic idea of
the algorithm consists of evolutionary transformations over sets of analytical
descriptions (formulas) based on natural selection: "strongest" survives, in
this case giving the best result. The new applicants occur with the help of genetic
operations, named mutation, crossover and, for variety of a population, operation of
addition of new elements.
Genetic programming algorithm
The genetic programming algorithm is based on simulation of the
survival of the fittest in the population of individuals each of which presents a point in
space of solutions of optimization graph problem. The individuals are presented by strings
of functions (analytical representations of generator sets). Each population is a set of
generator sets for given
and
taking in this range all values or some of them. The function
named as fitness function evaluates the degree
of approximation of a graph diameter to its exact lower bound on some range of changing
. The purpose of GPA is to search for a minimum
of
.
Data representation
The basic data in the program are sets of functions . The following method of data representation
is used.
Under some assumption about a sufficient simplicity of desired
functions, the set of operators was limited to such: on the set of variables
and
(or
) and natural constants {c}. The following template for each function
is used:
where:
- type of rounding,
By an template function we create a expression for each function
, with which already we can produce all
evaluations and modifications. Thus, knowing concrete
and
, we can calculate a
concrete value of
. Sometimes, with an
evaluation we can have mathematical errors, for example, evaluation of the root of a
negative number or division by 0. In this situation fitness function (but only it requires
an evaluation of a value
) returns a value
indicating, that the given set of functions "is prohibited", and accordingly at
the following iteration will be thrown out.
A formal description of the GPA, following [10], may be presented by 11-tuple:
where:
- initial
population;
- space of individuals;
N- population size;
N- maximal length of individual; SEL:
- selection operator; NEW:
- new element operator; MUT:
- mutation operator;
[0,1] - mutation probability; CROS:
- crossover operator;
[0,1] - crossover probability; F:
N - fitness function;
N
- termination criterion.
Mutation
MUT: with
probability
[0,1] is applied to randomly
chosen generators of the population
.
Mutation represents a modification of any individual, which number is selected
accidentally. Modification is understood as a replacement of an operator (constant) into
any other (randomly from the available list of operators and constants). In some cases
there happens a deletion of elements (for example, mutation of an operator in a constant)
and adding elements (mutation of a constant in an operator).
Crossover
CROS: with
probability
[0,1] is applied to two
generator sets from population
. Crossover
represents interchanging by the elements between two functions with probability
[0,1] chosen from current population. That is we
randomly select on one element in each function, and change them among themselves.
New element
NEW: creation of the
new element (individual) is generation of a random parameters for template functions. It
allows to add an element of chance in creation of a population.
Selection
SEL: realizes the
principle of the survival of the fittest: in population it selects the best individuals
with minimal diameters (which describe the families of graphs).
Iteration process
Under searching for the optimum of fitness function F the iteration process in GPA is organized by the following way.
First iteration: it is a generation of the initial generation
(population) . In the given moment it is
carried out thus: with the help of operator NEW the all individuals of the
population is created (with test and throw all "impractical" individuals). After
filled out the whole array of generation, the best individuals are selected and saved in
an array best.
One iteration: it is a step from a population towards the next
:=SEL
(MUT
CROS)
(
). The basic step of the algorithm consists of
creating new generation on the basis of array best with the help of mutation and
crossover operations, and also adding some of the new individuals.
After an evaluation of fitness function for each individual of generation we make a comparison of a value of this function with values of fitness function of those individuals, which are saved in an array best. In the case if an element from a new generation is better than an element best [i], for some i, we put on a place i the new element, and all remaining ones we shift per unit of downwards. Thus, the best element is at the top of an array best.
Last iteration (termination criterion): the iterations are finished (1) after a given number of steps T=t or (2) after finding a given number of (sub)optimal graphs in given range of values of N.
By producing given number of basic steps of the algorithm, we obtain a
set , which, in an association from
parameters given with start, with this or that exactitude, describes the optimum or nearly
optimum circulant graph.
Fitness function
The basic computing load is necessary for an evaluation of fitness
function. The function should specify as far as frequently our description gives the
optimal and suboptimal graphs. It can be achieved by checking up any range of orders, by
calculating for each graph with order N its diameter , and by comparing
it with a diameter of optimal graph of the same order.
In a common case the fitness function F evaluates the sum of deviations (quadratic deviations) of diameters from their exact lower bounds for all tested N for circulant graphs having tested analytical descriptions.
In the given version of the program the fitness function works thus: in
a cycle we change N in , for each N
the diameter of graph
is computed, also it is compared with a
diameter of optimal graph. If they are equal then graph will be optimum, if they differ on
a unit then graph will be suboptimal. The number of all optimum and suboptimal graphs is a
value of fitness function and shows quality of the analytical description.
Experimental results
Genetic programming approach has been successfully used for automatic generation of analytical descriptions for families of (sub)optimal circulant networks. The first results have shown that the proposed algorithm finds the description (Theorem 1) for optimal two-dimensional circulants and also the larger part of infinite families of N and their analytical descriptions for double loop circulants obtained in [4], [7] and [1]. Also, the investigations were carried out for three-dimensional circulants: the GPA algorithm has generated previously unknown analytical descriptions of (sub)optimal families of circulants.
References
1. J.-C. Bermond, F. Comellas and D.F. Hsu, Distributed loop computer networks: a survey, J. Parallel Distributed Comput., 24, 1995, 2-10.
2. F.T. Boesch and J.-F. Wang, Reliable circulant networks with minimum transmission delay, IEEE Trans. Circuits Syst., CAS-32, 1985, 1286--1291.
3. S. Chen and X.-D. Jia, Undirected loop networks, Networks, 23, 1993, 257-260.
4. D.-Z. Du, D.F. Hsu, Q. Li and J. Xu, A combinatorial problem related to distributed loop networks. Networks, 20, 1990, 173-180.
5. J. Koza, Genetic Programming, Cambridge: M.I.T. Press, 1992.
6. E.A. Monakhova, On the analytical representation of optimal two-dimensional Diophantine structures of homogeneous computer systems, Computing systems, 90, Novosibirsk, 1981, 81-91 (in Russian).
7. E.A. Monakhova, Optimal circulant computer networks, In: Proc. International Conference on Parallel Computing Technologies, PaCT-91, Novosibirsk, USSR, 1991, 450-458.
8. K. Mukhopadhyaya and B.P. Sinha, Fault-tolerant routing in distributed loop networks, IEEE Trans. Comput., 44, No. 12, 1995, 1452-1456.
9. M.E Muzychuk, G. Tinhofer, Recognizing circulant graphs of prime order in polynomial time, The Electronic J. of Combinatorics, R25, 5(1),1998.
10. H.-P. Schwefel, T. Baeck, Artificial evolution: How and why?, In: Genetic Algorithms and Evolution Strategy in Engineering and Computer Science - Recent advances and industrial applications. Wiley, Chichester, 1997, 1-19.
Site of Information
Technologies Designed by inftech@webservis.ru. |
|